<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="html" indent="yes" omit-xml-declaration="no"/>


  <xsl:template match="CV">
    <html>
      <head>
        <title></title>
        <link rel="stylesheet" type="text/css" href="style/style.css" />
        
      </head>
      <body>
        <xsl:call-template name="picture"/>
        <xsl:call-template name="top"/>
        <xsl:call-template name="corp"/>
      </body>
    </html>
  </xsl:template>

  <xsl:template name="top" >
    <div id="top">
      <p>

        <xsl:apply-templates select="/CV/Prenom"/>
        <xsl:text> </xsl:text>
        <xsl:apply-templates select="/CV/Nom"/>
        <br/>
        <xsl:apply-templates select="/CV/Adresse"/>
        <br/>
        <xsl:apply-templates select="/CV/Tel"/>
        <br/>
        <xsl:apply-templates select="/CV/Mail"/>
        <br/>
        <xsl:apply-templates select="/CV/Datenais"/>
      </p>
    </div>
  </xsl:template>
  
  <xsl:template name="picture" >
    <div id="picture" style="float:right;">
      <img>
        <xsl:attribute name="src">
          <xsl:text>./photo/</xsl:text>
          <xsl:value-of select="/CV/Photo/@fichier" />
        </xsl:attribute>
      </img>
    </div>
  </xsl:template>


  <xsl:template name="corp" >
    <div id="corp">
      <xsl:apply-templates select="/CV/Formations"/>
      <xsl:apply-templates select="/CV/Experiences"/>
      <xsl:apply-templates select="/CV/Competences"/>
      <xsl:apply-templates select="/CV/Langues"/>
      <xsl:apply-templates select="/CV/Divers"/>
    </div>
  </xsl:template>


  <xsl:template match="Prenom">
    <xsl:choose>
      <xsl:when test="contains(/CV/Sexe, 'H')">
        <xsl:text>M. </xsl:text>
      </xsl:when>
      <xsl:when test="contains(/CV/Sexe, 'F')">
        <xsl:text>Mlle </xsl:text>
      </xsl:when>
    </xsl:choose>
    <xsl:value-of select="."/>
  </xsl:template>

  <xsl:template match="Adresse">
    <xsl:apply-templates select="Rue"/>
    <br/>
    <xsl:apply-templates select="Ville"/>
    <xsl:text> </xsl:text>
    <xsl:apply-templates select="CP"/>
  </xsl:template>

  <xsl:template match="Tel">
    <xsl:choose>
      <xsl:when test="contains(@type, 'Perso')">
        <xsl:text>Domicile: </xsl:text>
      </xsl:when>
      <xsl:when test="contains(/CV/Sexe, 'F')">
        <xsl:text>Travail: </xsl:text>
      </xsl:when>
    </xsl:choose>
    <xsl:value-of select="."/>
  </xsl:template>


  <xsl:template match="Formations">
    <div id="formations">
      <h1>Formations</h1>
      <table>
        <tr>
          <th>Periode</th>
          <th>Titre</th>
          <th>Lieu</th>
        </tr>
        <xsl:apply-templates select="Formation"/>
      </table>
    </div>
  </xsl:template>
  
  <xsl:template match="Formation">
    <tr>
      <td>
        <xsl:value-of select="Periode"/>
      </td>
      <td>
        <xsl:value-of select="Titre"/>
      </td>
      <td>
        <xsl:value-of select="Lieu"/>
      </td>
    </tr>
  </xsl:template>

  <xsl:template match="Experiences">
    <div id="experiences">
      <h1>Experiences</h1>
      <table>
        <tr>
          <th>Periode</th>
          <th>Profil</th>
          <th>Lieu</th>
          <th>Sujet</th>
        </tr>
        <xsl:apply-templates select="Experience"/>
      </table>
    </div>
  </xsl:template>

  <xsl:template match="Experience">
    <tr>
      <td>
        <xsl:value-of select="Periode"/>
      </td>
      <td>
        <xsl:value-of select="Profil"/>
      </td>
      <td>
        <xsl:value-of select="Lieu"/>
      </td>
      <td>
        <xsl:apply-templates select="Sujet"/>
      </td>
    </tr>
  </xsl:template>

  <xsl:template match="Sujet">
    <xsl:value-of select="."/>
    <xsl:if test="Comp">
      <br/>
      Competence :
      <ul>
        <xsl:apply-templates select="Comp" mode="exp"/>
      </ul>
    </xsl:if>
  </xsl:template>

  <xsl:template match="Comp" mode="exp">
    <li>
      <xsl:value-of select="@type"/> : <xsl:value-of select="."/>
    </li>
  </xsl:template>



  <xsl:template match="Competences">
    <div id="competences">
      <h1>Competences</h1>

      <ul>
        <li>
          <xsl:text>Langage: </xsl:text>
          <xsl:apply-templates select="Comp[@type='Langage']" mode="compet"/>
        </li>
        <li>
          <xsl:text>SGBD: </xsl:text>
          <xsl:apply-templates select="Comp[@type='SGBD']" mode="compet"/>
        </li>
        <li>
          <xsl:text>Reseau: </xsl:text>
          <xsl:apply-templates select="Comp[@type='Reseau']" mode="compet"/>
        </li>
        <li>
          <xsl:text>Methode: </xsl:text>
          <xsl:apply-templates select="Comp[@type='Methode']" mode="compet"/>
        </li>
        <li>
          <xsl:text>Outil: </xsl:text>
          <xsl:apply-templates select="Comp[@type='Outil']" mode="compet"/>
        </li>
        <li>
          <xsl:text>Autre: </xsl:text>
          <xsl:apply-templates select="Comp[@type='Autre']" mode="compet"/>
        </li>
      </ul>
    </div>
  </xsl:template>

  <xsl:template match="Comp" mode="compet">
      <xsl:apply-templates select="."/>
      <xsl:if test="position()!=last()">
        <xsl:text>, </xsl:text>
      </xsl:if>
  </xsl:template>

  <xsl:template match="Langues">
    <div id="langue">
      <h1>Langues</h1>
      <ul>
        <xsl:apply-templates select="Langue"/>
      </ul>
    </div>
  </xsl:template>

  <xsl:template match="Langue">
    <li>
      <xsl:value-of select="@type"/>
      <xsl:text>: </xsl:text>
      <xsl:value-of select="."/>
    </li>
  </xsl:template>


  <xsl:template match="Divers">
    <div id="divers">
      <h1>Divers</h1>
      <ul>
        <xsl:apply-templates select="Elt"/>
      </ul>
    </div>
  </xsl:template>

  <xsl:template match="Elt">
    <li>
      <xsl:value-of select="@type"/>
      <xsl:text>: </xsl:text>
      <xsl:value-of select="."/>
    </li>
  </xsl:template>


</xsl:stylesheet>
